python collections
マニュアルではコンテナデータ型と書いてある。記憶のhookとしてどちらが良いか。
速度面の有利さもあるのだろう。orderedDict, defaultdict, Counterなどがよく使う?
なんとなくだけど、pandas の dataframeで良い?
タプルをデータテーブルなデータの行にするのは、よくある手法 ?
deque 両端における append や pop を高速に行えるリスト風のコンテナ
リストの両端の出し入れが早いので、通常のリストに入れるより、(たぶん)速い。
code:deque.py
def tail(filename, n=10):
'Return the last n lines of a file'
return deque(open(filename), n)
ChainMap 複数のマッピングの一つのビューを作成する辞書風のクラス
Counter ハッシュ可能なオブジェクトを数え上げる辞書のサブクラス code:python
In 17: Counter("hello world again again".split(" ")) Out17: Counter({'again': 2, 'hello': 1, 'world': 1}) OrderedDict 項目が追加された順序を記憶する辞書のサブクラス
なんとなく使うときはあるかも。
defaultdict ファクトリ関数を呼び出して存在しない値を供給する辞書のサブクラス
dictの値にどういうデータ・タイプ (int, list, set など) を期待するか。missingを柔軟に設定したいときは、lambda関数?
UserDict 辞書のサブクラス化を簡単にする辞書オブジェクトのラッパ
UserList リストのサブクラス化を簡単にするリストオブジェクトのラッパ
UserString 文字列のサブクラス化を簡単にする文字列オブジェクトのラッパ